home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 41.zip / BS1 part 41 / LATEX macros.adf / inputs / letter.sty < prev    next >
Text File  |  1988-02-21  |  12KB  |  338 lines

  1. % letter.sty 20-Jan-88
  2.  
  3. \typeout{Document Style `letter' <20 Jan 88>.}
  4.  
  5. \def\@ptsize{0} \@namedef{ds@11pt}{\def\@ptsize{1}}
  6. \@namedef{ds@12pt}{\def\@ptsize{2}} 
  7. \@twosidefalse
  8. \def\ds@draft{\overfullrule 5pt} 
  9. \@options
  10.  
  11. \lineskip 1pt \normallineskip 1pt
  12. \def\baselinestretch{1}
  13.  
  14. \ifcase \@ptsize\relax 
  15. \def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt 
  16. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  17. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt
  18. minus3pt\let\@listi\@listI} 
  19. \def\small{\@setsize\small{11pt}\ixpt\@ixpt
  20. \abovedisplayskip 8.5pt plus 3pt minus 4pt\belowdisplayskip \abovedisplayskip
  21. \abovedisplayshortskip \z@ plus2pt\belowdisplayshortskip 4pt plus2pt minus
  22. 2pt\def\@listi{\leftmargin\leftmargini \topsep 4pt plus 2pt minus 2pt\parsep
  23. 2pt plus 1pt minus 1pt
  24. \itemsep \parsep}}
  25. \def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
  26. \abovedisplayskip 6pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  27. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 3pt plus 1pt minus
  28. 2pt\def\@listi{\leftmargin\leftmargini \topsep 3pt plus 1pt minus 1pt\parsep
  29. 2pt plus 1pt minus 1pt
  30. \itemsep \parsep}}
  31. \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
  32. \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
  33. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  34. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  35. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  36. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  37. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  38. \or 
  39. \def\@normalsize{\@setsize\normalsize{13.6pt}\xipt\@xipt
  40. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  41. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  42. minus3pt\let\@listi\@listI} 
  43. \def\small{\@setsize\small{12pt}\xpt\@xpt
  44. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  45. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt
  46. minus3pt\def\@listi{\leftmargin\leftmargini \topsep 6pt plus 2pt minus
  47. 2pt\parsep 3pt plus 2pt minus 1pt
  48. \itemsep \parsep}}
  49. \def\footnotesize{\@setsize\footnotesize{11pt}\ixpt\@ixpt
  50. \abovedisplayskip 8pt plus 2pt minus 4pt\belowdisplayskip \abovedisplayskip
  51. \abovedisplayshortskip \z@ plus 1pt\belowdisplayshortskip 4pt plus 2pt minus
  52. 2pt\def\@listi{\leftmargin\leftmargini \topsep 4pt plus 2pt minus 2pt\parsep
  53. 2pt plus 1pt minus 1pt
  54. \itemsep \parsep}}
  55. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  56. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  57. \def\large{\@setsize\large{14pt}\xiipt\@xiipt}
  58. \def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
  59. \def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
  60. \def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
  61. \def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
  62. \or 
  63. \def\@normalsize{\@setsize\normalsize{15pt}\xiipt\@xiipt
  64. \abovedisplayskip 12pt plus3pt minus7pt\belowdisplayskip \abovedisplayskip
  65. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  66. minus3pt\let\@listi\@listI} 
  67. \def\small{\@setsize\small{13.6pt}\xipt\@xipt
  68. \abovedisplayskip 11pt plus3pt minus6pt\belowdisplayskip \abovedisplayskip
  69. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6.5pt plus3.5pt
  70. minus3pt\def\@listi{\leftmargin\leftmargini \parsep 4.5pt plus 2pt minus 1pt
  71.  \itemsep \parsep
  72.  \topsep 9pt plus 3pt minus 5pt}}
  73. \def\footnotesize{\@setsize\footnotesize{12pt}\xpt\@xpt
  74. \abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
  75. \abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt
  76. minus3pt\def\@listi{\leftmargin\leftmargini \topsep 6pt plus 2pt minus
  77. 2pt\parsep 3pt plus 2pt minus 1pt
  78. \itemsep \parsep}}
  79. \def\scriptsize{\@setsize\scriptsize{9.5pt}\viiipt\@viiipt}
  80. \def\tiny{\@setsize\tiny{7pt}\vipt\@vipt}
  81. \def\large{\@setsize\large{18pt}\xivpt\@xivpt}
  82. \def\Large{\@setsize\Large{22pt}\xviipt\@xviipt}
  83. \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt}
  84. \def\huge{\@setsize\huge{30pt}\xxvpt\@xxvpt}
  85. \let\Huge=\huge
  86. \fi
  87. \normalsize 
  88.  
  89. \oddsidemargin 53pt \evensidemargin 53pt \marginparwidth 90pt \marginparsep
  90. 11pt \marginparpush 5pt 
  91.  \topmargin 27pt \headheight 12pt \headsep 45pt \footheight 12pt \footskip
  92. 25pt 
  93. \textheight 505pt \textwidth 365pt \columnsep 10pt \columnseprule 0pt 
  94. \raggedbottom 
  95. \footnotesep 12pt \skip\footins 10pt plus 2pt minus 4pt 
  96. \floatsep 12pt plus 2pt minus 2pt
  97. \textfloatsep 20pt plus 2pt minus 4pt
  98. \intextsep 12pt plus 2pt minus 2pt
  99. \dblfloatsep 12pt plus 2pt minus 2pt
  100. \dbltextfloatsep 20pt plus 2pt minus 4pt
  101. \@maxsep 20pt
  102. \@dblmaxsep 20pt
  103. \@fptop 0pt plus 1fil
  104. \@fpsep 8pt plus 2fil
  105. \@fpbot 0pt plus 1fil
  106. \@dblfptop 0pt plus 1fil
  107. \@dblfpsep 8pt plus 2fil
  108. \@dblfpbot 0pt plus 1fil
  109.  
  110.  
  111.  
  112. \newdimen\longindentation
  113. \longindentation=.5\textwidth
  114. \newdimen\indentedwidth
  115. \indentedwidth=\textwidth
  116. \advance\indentedwidth -\longindentation
  117.  
  118. \def\opening#1{\ifx\@empty\fromaddress
  119.  \thispagestyle{firstpage} 
  120.  {\raggedleft\@date\par}
  121.  \else \thispagestyle{empty} 
  122.  {\raggedleft\begin{tabular}{l}\ignorespaces\fromaddress \\*[2\parskip]
  123.  \@date \end{tabular}\par}
  124.  \fi
  125.  \vspace{2\parskip}
  126.  {\raggedright \toname \\ \toaddress \par}\vspace{2\parskip}
  127.  #1\par\nobreak}
  128. \long\def\closing#1{\par\nobreak\vspace{\parskip} 
  129.  \stopbreaks
  130.  \noindent
  131.  \ifx\@empty\fromaddress\else
  132.  \hspace*{\longindentation}\fi
  133.  \parbox{\indentedwidth}{\raggedright
  134.  \ignorespaces #1\\[6\medskipamount] \ifx\@empty\fromsig 
  135.  \fromname
  136.  \else \fromsig \fi\strut}
  137.  \par}
  138.  
  139. \def\ps{\par\startbreaks}
  140. \def\cc#1{\par\noindent
  141. \parbox[t]{\textwidth}{\@hangfrom{\rm cc: }\ignorespaces #1\strut}\par}
  142. \def\encl#1{\par\noindent
  143. \parbox[t]{\textwidth}{\@hangfrom{\rm encl: }\ignorespaces #1\strut}\par}
  144. \def\stopletter{}
  145.  
  146. \def\returnaddress{}
  147. \newcount\labelcount
  148.  
  149. \def\startlabels{\labelcount=0 \baselineskip=0pt \lineskip=0pt
  150. \pagestyle{empty}
  151. \let\@texttop=\relax
  152. \topmargin -50pt
  153. \headsep 0pt
  154. \oddsidemargin -35pt
  155. \evensidemargin -35pt
  156. \textheight 10in
  157. \@colht\textheight \@colroom\textheight \vsize\textheight
  158. \textwidth 550pt
  159. \columnsep 25pt
  160. \xpt
  161. \baselineskip=0pt
  162. \lineskip=0pt
  163. \boxmaxdepth=0pt
  164. \parindent=0pt \twocolumn\relax}
  165. \def\mlabel#1#2{\setbox0\vbox{\parbox[b]{3.6in}{\strut\ignorespaces #2}}
  166.  \vbox to 2in{\vss \box0 \vss}}
  167.  
  168.  
  169.  
  170. \long\def\letter#1{\newpage
  171.  \c@page\@ne
  172.  \interlinepenalty=200 \@processto{#1}}
  173. \def\endletter{\stopletter\@@par\pagebreak\@@par
  174.  \if@filesw 
  175.  \begingroup 
  176.  \def\protect{\string}
  177.  \let\\=\relax
  178.  \def\protect##1{\string##1\space}
  179.  \immediate\write\@auxout{\string\mlabel{\returnaddress}{\toname
  180.  \\\toaddress}}
  181.  \endgroup 
  182.  \fi}
  183. \long\def\@processto#1{\@xproc #1\\@@@\ifx\toaddress\@empty 
  184.  \else \@yproc #1@@@\fi}
  185. \long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
  186. \long\def\@yproc #1\\#2@@@{\def\toaddress{#2}}
  187. \def\stopbreaks{\interlinepenalty \@M
  188.  \def\par{\@@par\nobreak}\let\\=\@nobreakcr
  189.  \let\vspace\@nobreakvspace}
  190. \def\@nobreakvspace{\@ifstar{\@nobreakvspacex}{\@nobreakvspacex}}
  191. \def\@nobreakvspacex#1{\ifvmode\nobreak\vskip #1\relax\else
  192.  \@bsphack\vadjust{\nobreak\vskip #1}\@esphack\fi}
  193. \def\@nobreakcr{\vadjust{\penalty\@M}\@ifstar{\@xnewline}{\@xnewline}}
  194. \def\startbreaks{\let\\=\@normalcr
  195.  \interlinepenalty 200\def\par{\@@par\penalty 200}}
  196. \def\name#1{\def\fromname{#1}}
  197. \def\signature#1{\def\fromsig{#1}}
  198. \def\fromsig{}
  199. \long\def\address#1{\def\fromaddress{#1}}
  200. \def\fromaddress{}
  201. \def\location#1{\def\fromlocation{#1}}
  202. \def\fromlocation{}
  203. \def\telephone#1{\def\telephonenum{#1}}
  204. \def\telephonenum{}
  205. \def\document{\endgroup
  206.  \@colht\textheight \@colroom\textheight \vsize\textheight
  207.  \columnwidth\textwidth \@clubpenalty\clubpenalty
  208.  \if@twocolumn \advance\columnwidth -\columnsep 
  209.  \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue 
  210.  \fi
  211.  \hsize\columnwidth \linewidth\hsize
  212.  \begingroup\@floatplacement\@dblfloatplacement\endgroup
  213.  \if@filesw \immediate\openout\@mainaux=\jobname.aux
  214.  \immediate\write\@mainaux{\string\startlabels\string\@startlabels}\fi
  215.  \def\do##1{\let ##1\@notprerr}
  216.  \@preamblecmds
  217.  \let\do\noexpand 
  218.  \@normalsize\everypar{}}
  219. \def\enddocument{\@checkend{document}\newpage\begingroup 
  220. \if@filesw \immediate\closeout\@mainaux 
  221. \makeatletter\input \jobname.aux\clearpage
  222. \fi\endgroup\deadcycles\z@\@@end}
  223.  
  224. \def\makelabels{\@fileswtrue}
  225. \def\@startlabels{}
  226.  
  227.  
  228.  
  229. \def\@texttop{\ifnum\c@page=1\vskip 0pt plus .00006fil\relax\fi}
  230. \def\ps@headings{\def\@oddhead{\sl To \ignorespaces\toname \hfil \@date
  231.  \hfil Page \thepage}\def\@oddfoot{}}
  232. \def\ps@empty{\def\@oddhead{}\def\@oddfoot{}\def\@evenhead{}\def\@evenfoot{}}
  233.  
  234. \def\ps@firstpage{\def\@oddhead{}\def\@oddfoot{\raisebox
  235.  {-45pt}[0pt]{\hbox to \textwidth
  236.  {\hspace*{100pt}\xpt\fromlocation \hfill
  237. \telephonenum}}\hss}\def\@evenhead{}\def\@evenfoot{}}
  238. \def\ps@plain{\def\@oddhead{}\def\@oddfoot{\rm\hfil\thepage
  239.  \hfil}\def\@evenhead{}\let\@evenfoot\@oddfoot}
  240.  
  241. \parskip .7em \parindent 0pt \topsep .4em \partopsep 0pt \itemsep .4em 
  242. \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 
  243. \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
  244. -\@lowpenalty 
  245.  
  246.  
  247.  
  248. \leftmargini 2.5em
  249. \leftmarginii 2.2em \leftmarginiii 1.87em \leftmarginiv 1.7em \leftmarginv 1em
  250. \leftmarginvi 1em
  251. \leftmargin\leftmargini
  252. \labelwidth\leftmargini\advance\labelwidth-\labelsep
  253. \labelsep 5pt
  254. \parsep 0pt
  255. \let\@listi\relax
  256. \def\@listii{\leftmargin\leftmarginii
  257.  \labelwidth\leftmarginii\advance\labelwidth-\labelsep}
  258. \def\@listiii{\leftmargin\leftmarginiii
  259.  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
  260.  \topsep .2em 
  261.  \itemsep \topsep}
  262. \def\@listiv{\leftmargin\leftmarginiv
  263.  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
  264. \def\@listv{\leftmargin\leftmarginv
  265.  \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
  266. \def\@listvi{\leftmargin\leftmarginvi
  267.  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
  268.  
  269. \def\labelenumi{\arabic{enumi}.} 
  270. \def\theenumi{\arabic{enumi}} 
  271. \def\labelenumii{(\alph{enumii})}
  272. \def\theenumii{\alph{enumii}}
  273. \def\p@enumii{\theenumi}
  274. \def\labelenumiii{\roman{enumiii}.}
  275. \def\theenumiii{\roman{enumiii}}
  276. \def\p@enumiii{\theenumi(\theenumii)}
  277. \def\labelenumiv{\Alph{enumiv}.}
  278. \def\theenumiv{\Alph{enumiv}} 
  279. \def\p@enumiv{\p@enumiii\theenumiii}
  280.  
  281. \def\labelitemi{$\bullet$}
  282. \def\labelitemii{\bf --}
  283. \def\labelitemiii{$\ast$}
  284. \def\labelitemiv{$\cdot$}
  285. \def\verse{\let\\=\@centercr 
  286.  \list{}{\itemsep\z@ \itemindent -15pt\listparindent \itemindent 
  287.  \rightmargin\leftmargin\advance\leftmargin 15pt}\item[]}
  288. \let\endverse\endlist
  289. \def\quotation{\list{}{\listparindent 1.5em
  290.  \itemindent\listparindent
  291.  \rightmargin\leftmargin}\item[]}
  292. \let\endquotation=\endlist
  293. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  294. \let\endquote=\endlist
  295.  
  296. \def\descriptionlabel#1{\hspace\labelsep \bf #1}
  297. \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
  298.  \let\makelabel\descriptionlabel}}
  299. \let\enddescription\endlist
  300.  
  301.  
  302.  
  303. \def\theequation{\arabic{equation}}
  304.  
  305. \arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt 
  306. \tabbingsep \labelsep 
  307. \skip\@mpfootins = \skip\footins
  308. \fboxsep = 3pt \fboxrule = .4pt 
  309.  
  310. \def\footnoterule{\kern-1\p@ 
  311.  \hrule width .4\columnwidth 
  312.  \kern .6\p@} 
  313.  
  314. \long\def\@makefntext#1{\noindent \hangindent 5pt\hbox 
  315.  to 5pt{\hss $^{\@thefnmark}$}#1}
  316.  
  317.  
  318. \c@topnumber=2
  319. \def\topfraction{.7}
  320. \c@bottomnumber=1
  321. \def\bottomfraction{.3}
  322. \c@totalnumber=3
  323. \def\textfraction{.2}
  324. \def\floatpagefraction{.5}
  325. \c@dbltopnumber= 2
  326. \def\dbltopfraction{.7}
  327. \def\dblfloatpagefraction{.5}
  328.  
  329. \def\today{\ifcase\month\or
  330.  January\or February\or March\or April\or May\or June\or
  331.  July\or August\or September\or October\or November\or December\fi
  332.  \space\number\day, \number\year}
  333.  
  334.  
  335. \smallskipamount=.5\parskip \medskipamount=\parskip
  336. \bigskipamount=2\parskip
  337. \ps@plain \pagenumbering{arabic} \onecolumn \@fileswfalse 
  338.